<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NSubstitute</name>
    </assembly>
    <members>
        <member name="T:NSubstitute.Substitute">
            <summary>
            Create a substitute for one or more types. For example: <c>Substitute.For&lt;ISomeType&gt;()</c> 
            </summary>
        </member>
        <member name="M:NSubstitute.Substitute.For``1(System.Object[])">
            <summary>
            Substitute for an interface or class.
            <para>Be careful when specifying a class, as all non-virtual members will actually be executed. Only virtual members 
            can be recorded or have return values specified.</para>
            </summary>
            <typeparam name="T">The type of interface or class to substitute.</typeparam>
            <param name="constructorArguments">Arguments required to construct a class being substituted. Not required for interfaces or classes with default constructors.</param>
            <returns>A substitute for the interface or class.</returns>
        </member>
        <member name="M:NSubstitute.Substitute.For``2(System.Object[])">
            <summary>
            <para>Substitute for multiple interfaces or a class that implements an interface. At most one class can be specified.</para>
            <para>Be careful when specifying a class, as all non-virtual members will actually be executed. Only virtual members 
            can be recorded or have return values specified.</para>
            </summary>
            <typeparam name="T1">The type of interface or class to substitute.</typeparam>
            <typeparam name="T2">An additional interface or class (maximum of one class) the substitute should implement.</typeparam>
            <param name="constructorArguments">Arguments required to construct a class being substituted. Not required for interfaces or classes with default constructors.</param>
            <returns>A substitute of type T1, that also implements T2.</returns>
        </member>
        <member name="M:NSubstitute.Substitute.For``3(System.Object[])">
            <summary>
            <para>Substitute for multiple interfaces or a class that implements multiple interfaces. At most one class can be specified.</para>
            If additional interfaces are required use the <see cref="M:NSubstitute.Substitute.For(System.Type[],System.Object[])"/> overload.
            <para>Be careful when specifying a class, as all non-virtual members will actually be executed. Only virtual members 
            can be recorded or have return values specified.</para>
            </summary>
            <typeparam name="T1">The type of interface or class to substitute.</typeparam>
            <typeparam name="T2">An additional interface or class (maximum of one class) the substitute should implement.</typeparam>
            <typeparam name="T3">An additional interface or class (maximum of one class) the substitute should implement.</typeparam>
            <param name="constructorArguments">Arguments required to construct a class being substituted. Not required for interfaces or classes with default constructors.</param>
            <returns>A substitute of type T1, that also implements T2 and T3.</returns>
        </member>
        <member name="M:NSubstitute.Substitute.For(System.Type[],System.Object[])">
            <summary>
            <para>Substitute for multiple interfaces or a class that implements multiple interfaces. At most one class can be specified.</para>
            <para>Be careful when specifying a class, as all non-virtual members will actually be executed. Only virtual members 
            can be recorded or have return values specified.</para>
            </summary>
            <param name="typesToProxy">The types of interfaces or a type of class and multiple interfaces the substitute should implement.</param>
            <param name="constructorArguments">Arguments required to construct a class being substituted. Not required for interfaces or classes with default constructors.</param>
            <returns>A substitute implementing the specified types.</returns>
        </member>
    </members>
</doc>
